1. Field of the Invention
The present invention relates to systems for providing graphic output, and more particularly, to a method and system for enhancing the quality of graphic information producible by a monotone output device.
2. Description of the Related Art
Conventionally, graphic information in the form of images or photographs has been produced in a monotone medium using techniques known generally as "halftones." In a halftone process, a photograph or similar image having continuous tones or gray levels is converted to various levels of gray using either patterns of monotone (single color) dots of various sizes, or using lines of various widths. For instance, halftone techniques have been used to develop plates for printing presses that would print various levels of gray using only black ink. Such graphic information may also include characters for providing text or similar output.
More recently, electronic displays have the ability to display gray levels by varying the intensity of a dot, pel, or pixel produced in the display. However, most electronic printers, or marking engines, still provide only monotone output. Marking engines, such as laser printers, LED printers, and the like, must therefore employ halftone techniques to simulate levels of gray. Monotone marking engines simulate levels of gray using clusters of dots or pixels, so that pixel locations in the cluster are marked (black or "on") or left blank (white or "off") in various patterns. The clusters are often referred to as halftone cells. Relevant features of halftone schemes include (1) screen geometry; (2) gray tones; (3) image detail; and (4) reproduction. The remainder of this discussion focuses primarily on limitations of producing gray tone and image detail features, since these features have the greatest impact on the ability of a monotone marking engine to produce quality graphics.
In a typical application, a monotone marking engine is utilized having a given native resolution. For example, standard laser printers have specified native resolutions of 300 or 600 dpi (dots per inch). The centers of the marking regions, or pixel locations, for a 300 dpi device are located 1/300 of an inch apart in both the horizontal and vertical directions of the paper. Therefore, the native resolution of a marking engine may be represented by an orthogonal array of pixel locations. The two dimensional size of the array depends on the total paper size or output area of the graphic image.
A gray level, shade or tone value can be assigned to each pixel location in the array. This value is used in electronic displays, such as video displays or cathode ray tubes (CRTs), to control the intensity of the corresponding pixel. A conventional way of assigning gray values is to control or set the value of a multi-bit binary number for each pixel in the array. Such an array may be referred to variously as gray scale data, a gray scale array, an image bit-map, or video raster data.
Ordinarily, the availability of gray scale data, alone, does not allow a marking engine to simulate the gray levels contained in the data. The monotone engine cannot vary the intensity at each pixel location. It either marks the entire pixel region or leaves it blank. In order to simulate gray levels, the monotone marking engine must use pixel clusters, or halftone cells, formed of marked and blank pixels to provide a number of gray level patterns. The number of patterns available in a halftone scheme theoretically corresponds directly to the size of the pixel cluster. However, inherent properties of most marking engines reduce or limit the number of gray levels available in actual practice, as will be described below. The use of halftone cells undesirably reduces the resolution of an output image, since single pixel intensity values are essentially mapped into a cluster of pixels in corresponding patterns of black and white.
Assuming a monotone marking engine has a native resolution and is able to produce only fixed size pixels, its ability to provide good quality printing of graphic features is relatively limited. The number of gray levels available theoretically increases with the size of the pixel cluster chosen as the basis of the halftone cell, but the number of lines printed in the halftone scheme (the image resolution) undesirably decreases as the size of the pixel cluster (halftone cell) increases. For example, choosing a 106 line per inch halftone screen with a 300 dpi marking engine results in the production of only 9 gray levels. Using a 53 line per inch screen, 33 gray levels are theoretically available, but the image detail, or clarity, is undesirably reduced to approximately 1/6 the native engine resolution.
Smooth and continuous gray scale images do not depend simply on the number gray levels theoretically available. A more important consideration is that the correct shades, or gray levels, be produced. An image using fewer, but more appropriate shades looks better than an image using more, but inappropriate shades. A related problem is that, for most marking engines, the number of distinguishable gray levels in a conventional halftone scheme is significantly less than the theoretically available number of gray levels.
Theoretically available gray levels actually appear darker due to marking engine characteristics, causing several shades to become indistinguishable to viewers. Most laser printer marking engines are pulsed, or energized, during a full pixel period to produce marks or spots that can be 2-3 times as large as the specified pixel region. This overcoverage corrupts the halftone pattern since pixels that are supposed to be blank get fully or partially marked by neighboring marked pixels. Many of the theoretically available gray levels actually appear darker due to this phenomenon, causing several shades to become indistinguishable to viewers. This means that the actual number of useful gray levels is substantially smaller than the number of theoretically available gray levels. For example, with a 300 dpi engine using a conventional 53 line per inch halftone screen, in practice a range of about 10 gray levels are usable from among the 33 gray levels which are theoretically available.
Another problem with providing distinguishable gray levels is that viewers are not evenly sensitive to shades of gray ranging from light to dark. If a gray scale is provided by linearly increasing the number of marked pixels, viewers will not resolve gray levels evenly along the scale. This results in poor production of graphic features.
To produce a given image or graphic output, the best set of gray levels to be used are those that will appear linear or smooth to a viewer. The process of selecting the best set of gray levels is called gamma correction. A gamma corrected image appears to be a more true reproduction to the viewer and is also more pleasant to look at. Gamma correction also attempts to provide smooth gray tones without creating distracting background patterns.
One approach to gamma correction has been to reduce the pulse width that drives the imaging laser in a laser printer, using a 4 bit value to create a dot or mark that is smaller than a full size pixel (i.e., a sub-pixel mark), in the hope of providing a greater number of distinguishable gray levels. For example, several implementations have divided the pixel period of the laser by 16, and have attempted to provide 16 different dot sizes or marks, with 0 being white, for any given pixel region. Usually, such dots are centered on the pixel region location. In such schemes, the laser is turned on by a pulse having a duration between 0/15 and 15/15 of the pixel period, the pulse being centered in the pixel period interval. If gray scale data is provided with 4 bits per pixel gray values, 16 different shades can be specified for each pixel. The size of the subpixel mark at each pixel region is controlled by such pulses in an attempt to simulate gray levels.
However, most marking engines will not create a mark or dot when the centered pulse width is less than a certain duration, such as 7/15 or 8/15 of the pixel period. This means that only the darker shades, employing larger dots, are actually provided. Furthermore, these darker shades are usually not gamma corrected properly, since the gamma correction process often erroneously assumes that the lighter, unproduced shades actually exist. Many of these reduced driving interval schemes also fail to account for the loss of distinguishable gray levels due to marking overlap produced in the darker gray shades.
Preserving image detail is also difficult due to the above-described difficulties of producing marks precisely using a monotone marking engine. The problems associated with both over-marking (when long pulses drive the engine) and non-marking (when very small pulses drive the engine) lead to a reduced ability to faithfully produce image detail encoded in the bit-map source (raster, or gray level source) data. For example, lines running at angles across the image may not be accurately produced by the marking engine. Similarly, the features of text characters, encoded graphically in the bit-map, may be distorted when produced by the marking engine.
Hence, the difficulties of providing graphic features including appropriately gamma corrected gray levels and correct image details have not been adequately solved for monotone marking engines.
From the foregoing discussion, it is evident that the art has failed to provide a means for controlling existing marking engines to produce relatively smooth gray tones in a halftone image while preserving image detail and providing for proper image production. This failure stems partially from an inferior ability to produce relatively small, precisely sized marks for use in generating halftone patterns, and also from the improper use of gamma correction techniques for smoothing gray levels. Similarly, the art has failed to provide for the enhanced production of graphic features, including halftone, text or other image information, by marking engines.